Maintaining the integrity of configuration information of a network of access points for use in positioning an apparatus

ABSTRACT

A method comprising: collecting from each of multiple access points in a network of access points a set of measurements made at a respective access point for signals transmitted by other access points, wherein the network of access points is for use in positioning a device that communicates with the network of access points; processing the collected sets of measurements to classify changes in the network of access points; and performing an action that is conditional upon how a change is classified.

FIELD OF THE INVENTION

Embodiments of the present invention relate to positioning. In particular, they relate to maintaining the integrity of data used during a positioning procedure.

BACKGROUND TO THE INVENTION

There are many types of positioning procedures. Typically to position an apparatus using wireless communication there is wireless communication between the apparatus and a network of transceivers of known location. By measuring parameters of the communication such as angle of arrival, time of flight or received power it is possible to position the apparatus using known algorithms.

The accuracy of the positioning process is dependent upon the transceivers being at a known location and, perhaps, having known transmission properties such as power and directional gain.

BRIEF DESCRIPTION OF VARIOUS EMBODIMENTS OF THE INVENTION

According to various embodiments of the invention there is provided a method comprising: collecting from each of multiple access points in a network of access points a set of measurements made at a respective access point for signals transmitted by other access points, wherein the network of access points is for use in positioning a device that communicates with the network of access points; processing the collected sets of measurements to classify changes in the network of access points; and performing an action that is conditional upon how a change is classified.

According to various embodiments of the invention there is provided an apparatus comprising: means for collecting from each of multiple access points in a network of access points a set of measurements made at a respective access point for signals transmitted by other access points, wherein the network of access points is for use in positioning a device that communicates with the network of access points; means for processing the collected sets of measurements to classify changes in the network of access points; and means for performing an action that is conditional upon how a change is classified.

According to various embodiments of the invention there is provided a system comprising: a network of access points for use in positioning a device that communicates with the network of access points; means for collating for each of multiple access points in the network of access points a set of measurements made at a respective access point for signals transmitted by other access points; means for processing the collated sets of measurements to classify changes in the network of access points; and means for performing an action that is conditional upon how a change is classified.

According to various embodiments of the invention there is provided a computer readable medium having a tangibly encoded computer program which when loaded into a computer provides: means for collecting from each of multiple access points in a network of access points a set of measurements made at a respective access point for signals transmitted by other access points, wherein the network of access points is for use in positioning a device that communicates with the network of access points; means for processing the collected sets of measurements to classify changes in the network of access points; and means for performing an action that is conditional upon how a change is classified.

According to various embodiments of the invention there is provided a method of maintaining the integrity of a database that records configuration information of a network of access points for use in positioning an apparatus that communicates with the network of access points comprising: collecting from respective access points a set of measurements made at the respective access point for signals transmitted by other access points; processing the collected sets of measurements to identify a change in the network of access points associated with a particular access point; and automatically adapting the configuration information in the database associated with the particular access point.

According to various embodiments of the invention there is provided an apparatus comprising: a database that records configuration information of a network of access points for use in positioning an apparatus that communicates with the network of access points; means for collecting from respective access points a set of measurements made at the respective access point for signals transmitted by other access points; means for processing the collected sets of measurements to identify a change in the network of access points associated with a particular access point; and means for automatically adapting the configuration information in the database associated with the particular access point.

According to various embodiments of the invention there is provided a computer readable medium having a tangibly encoded computer program which when loaded into a computer provides: means for collating from respective access points a set of measurements made at the respective access point for signals transmitted by other access points; means for processing the collected sets of measurements to identify a change associated with a particular access point in a network of access points; and means for automatically adapting network configuration information associated with the particular access point in a database.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of various embodiments of the present invention reference will now be made by way of example only to the accompanying drawings in which:

FIG. 1 schematically illustrates an access point network;

FIG. 2A schematically illustrates one example of a server;

FIG. 2B schematically illustrates one example of an apparatus which is to be positioned;

FIG. 3A schematically illustrates a positioning procedure than uses estimates of the angle at which transmissions are received by an apparatus to determine a position of the apparatus;

FIG. 3B schematically illustrates a positioning procedure than uses estimates of the distance between an apparatus and access points to determine a position of the apparatus;

FIG. 4 illustrates a process for detecting a change in the physical configuration of the access point network, classifying the change and performing appropriate actions; and

FIG. 5 illustrates an example of how different classifications of network change may be mapped to different respective actions.

DETAILED DESCRIPTION OF VARIOUS EMBODIMENTS OF THE INVENTION

FIG. 1 schematically illustrates a wireless network or infrastructure 10 that comprises a number of wireless transceivers 2 ₁, 2 ₂, 2 ₃, 2 ₄ . . . 2 _(n). The wireless transceivers 2 _(n) operate as access points (AP) for the network 10.

The network 10 may be a wireless local area network (WLAN) and the access points 2 _(n) may be WLAN access points.

The access point network 10 may be used in positioning an apparatus 12, which may be a mobile apparatus. Although the apparatus 12 communicates with the network of access points 10 it is not part of the network of access points 10.

The Figure also illustrates a server 4 and a database 6. The server 4 facilitates access to the information stored in the database 6. The database 6 stores configuration information 8 of the access point network 10. The configuration information 8 is information that is required to position an apparatus 12 as a result of communication between the apparatus 12 and APs 2 _(n).

One example of a server 4 is schematically illustrated in FIG. 2A. This server 4 comprises a processor 11, a memory 13 and an input/output interface 14. The memory 13 stores the database 6 and also a computer program 15 which controls the operation of the processor 11. The processor 11 is arranged to write to and read from the memory 13 and to provide data to and receive data from the input/output interface 14. The input/output interface 14 is used to communicate with each of the access points 2 _(n). It may be a hard-wired interface such as an Ethernet adapter or it may be a wireless interface such as a WLAN adapter.

One example of an apparatus 12 is schematically illustrated in FIG. 2B. This apparatus 12 comprises a processor 16, a memory 17 and a wireless transceiver 19. The memory 17 stores a computer program 18 which controls the operation of the processor 16. The processor 16 is arranged to write to and read from the memory 17 and to provide data to and receive data from the wireless transceiver 19. The wireless transceiver 19 is used to communicate with each of the access points 2 _(n). If the access points are WLAN APs then the wireless transceiver 19 is a WLAN transceiver.

The computer program instructions may provide the logic and routines that enable a computer to perform the methods illustrated in FIGS. 4 and 5.

The computer program instructions may arrive at an apparatus 12, 4 via an electromagnetic carrier signal or be copied from a physical entity such as a computer program product, a memory device or a record medium such as a CD-ROM or DVD.

The database 6 and server 4 may be distributed over one or more APs 2 _(n) and/or one or more apparatus 12 or they may be provided by one or more separate distinct components as illustrated in FIG. 1. The calculation of the position of the apparatus 12 may occur at an AP 2 _(n), at the apparatus 12 or at the server 4.

The configuration information 8 includes the current location of the separate access points 2 _(n) and may also include the network addresses of the access points. The configuration information 8 may also include additional information that is dependent upon the algorithm used for positioning the apparatus 12. For example, if positioning is performed on the basis of signal strength measurements, the configuration information 8 may additionally include the transmission power of the AP and perhaps its antenna orientation.

The apparatus 12 communicates with the APs and a communication parameter is measured either at the apparatus 12 or at the access points 2 _(n). Knowledge of the positions of the access points 2 _(n) and knowledge of the measured parameters are collected at the apparatus 2 _(n), 4, 12 where the position of apparatus 12 is determined and used to determine the position of the apparatus 12.

There follows some examples of positioning. In these examples, the positioning is performed by the apparatus 12, however, in other implementations the same positioning methods may be performed by the access point. The positioning methods described measure one of the following parameter types: signal strength measurement, time of arrival measurement and angle of arrival measurement. However other parameter types may also be used for positioning such as bit error rate (BER) or the impulse response (IR) of the radio channel.

For example, referring to FIG. 3A, the apparatus 12 detects the angle θ_(n) at which transmissions from the nth access point 2 _(n) are received. The apparatus 12 receives the positions of the APs 2 _(n) from the database 6. It uses this knowledge and the detected angles θ_(n) at which transmissions from the access points 2 _(n) are received to determine its position using known algorithms.

For example, referring to FIG. 3B, the apparatus 12 may detect the time of flight for transmissions received from the access points 2 _(n). The apparatus 12 receives the positions of the APs 2 _(n) from the database 6. It uses this knowledge, the flight times of transmissions from the APs and knowledge of how the flight times vary with distance to determine its position using known algorithms.

For example, referring to FIG. 3B, the apparatus 12 may measure received signal strength for transmissions received from the access points 2 _(n). The apparatus 12 receives the positions of the APs 2 _(n) from the database 6. It uses this knowledge, the received signal strengths and knowledge of how the received signal strength attenuates with distance to determine its position using known algorithms.

According to another algorithm, the signal strength measurement p_(n) made at apparatus 12 of transmissions from the nth AP 2 _(n) is modeled using an attenuation model p_(n)=T_(n)−PL(d_(n)), where T_(n) is the power of transmissions by the nth AP 2 _(n) and PL is a path loss model that is dependent on the path length d_(n). The path loss may be modeled as being inversely proportional to the distance d_(o) between the apparatus 12 and the nth AP 2 _(n). In this example, the network configuration information 8 received by the apparatus 12 from the database 6 includes not only the positions of the APs but also their transmission powers T_(n), and if directional gain antennas are used also the direction of gain (i.e. orientation). Trilateration may be used using to position the apparatus 12.

According to another algorithm, a set of signal strength measurements {s_(n)} of transmissions from the APs 2 _(n) is made at each of a number of known locations L_(n). The known locations and their respective sets {s_(n)} are associated together in a fingerprint database, which may be a part of the database 6. A set of signal strength measurements {p_(n)} of transmissions from the n APs 2 _(n) is made at apparatus 12. The set {p_(n)} is matched to one of the sets {s_(m)} and the position of the apparatus 12 is determined as L_(m). The matching may occur by determining the Euclidian distance Σs_(n) ² that is closest to Σp_(n) ².

It is apparent that the integrity of the configuration information 8 in the database 6 is critical for positioning the apparatus 12.

Changes may occur within the access point network 10 that result in the actual configuration of the AP network 10 and the configuration defined by the configuration information 8 being different. The effect of differences may be significant or insignificant. Some differences may be significant for one positioning procedure but not for another different positioning procedure.

The differences may be dealt with by flagging incorrect configuration information 8 in the database 6 so that it is not used or is used with caution or may be dealt with by resolving the difference between the real configuration and the virtual configuration.

Resolution of the differences may occur either by changing the physical configuration of the AP network so that it matches the ‘virtual’ configuration defined by the configuration information 8 or by changing the configuration information 8 so that the ‘virtual’ configuration matches the physical configuration of the AP network.

Changing the configuration information 8 so that the ‘virtual’ configuration matches the physical configuration of the AP network may in some instances require a labor intensive process such as repopulating a fingerprint database or in some instances the database may be automatically selectively adapted.

FIGS. 4 and 5 illustrate processes for detecting a change in the physical configuration of the AP network and performing appropriate action to flag or resolve the change. In other embodiments, the action may include changing the physical configuration of the network 10.

A first access point AP₁ transmits with a transmit power T₁, a second access Point AP₂ transmits with a transmit power T₂, and a third access Point AP₃ transmits with a transmit power T₃.

An access point AP_(n) makes measurements m_(nm) for transmissions from access points AP_(m), where m=1, 2 . . . N but m≠n. The measurements m_(n1), M_(n2), m_(n3) . . . , are combined into a set s_(n) of measurements and sent to the server 4.

Thus, in the illustrated example, the first access Point AP₁ makes a measurement m₁₂ in respect of transmit power T₂ of the second access point AP₂ and makes a measurement m₁₃ in respect of transmit power T₃ of the third access point AP₃. The measurements m₁₂ and m₁₃ are combined into a set s_(i) of measurements and sent to the server 4.

The second access Point AP₂ makes a measurement m₂₁ in respect of transmit power T₁ of the first access point AP₁ and makes a measurement m₂₃ in respect of transmit power T₃ of the third access point AP₃. The measurements m₂₁ and m₂₃ are combined into a set s₂ of measurements and sent to the server 4.

The third access Point AP₃ makes a measurement m₃₂ in respect of transmit power T₂ of the second access point AP₂ and makes a measurement m₃₁ in respect of transmit power T₁ of the first access point AP₁. The measurements m₃₂ and m₃₁ are combined into a set s₃ of measurements and sent to the server 4.

The measurements m_(ij) in one embodiment are received signal strength (RSS) measurements. Each RSS measurement m_(ij) may include a mean value p_(i) and a standard deviation from the mean σ_(ij). The measurements m_(ij) may be made according to a schedule e.g. once a day. The measurements m_(ij) made may always be sent to the server 4 or may only be sent if they differ significantly from the previous measurement or the average of the last few measurements.

The server 4, at block 42, collects a set of measurements s_(n) for each of access point AP_(S).

The server 4, at block 44, processes the sets of measurements to identify and classify changes between measurements m_(ij)(t) and previous measurements m_(ij)(t−T).

The server 4, at block 46, performs an action that is dependent upon the classification of the change.

A change indicates an inconsistency between the real configuration of the AP network 10 and the virtual configuration of the AP network defined by the configuration information 8. The classification of an action enables different remedial actions to be performed for different types of changes.

An action may, for example, cause a change in the real configuration of the access point network so that the real configuration of the AP network is made consistent with the virtual configuration of the AP network

An action may, for example, flag the inconsistency. For example, if the change is associated with a particular AP, then the action may flag in the database 6 some or all of the configuration data 8 associated with that access point as unreliable.

An action may, for example, cause a change in the virtual configuration of the access point network so that the virtual configuration of the AP network is consistent with the real configuration of the AP network. For example, if the change is a quantifiable change associated with a particular AP, then the action may adapt in the database 6 the configuration information 8 associated with that particular access point to reflect the quantifiable change. For example, if the change is not a quantifiable change, then the action may result in repopulation of the database 6 so that it is consistent with the current configuration of the AP network.

FIG. 5 illustrates an example of how different classifications 51, 52, 53, 54 may be mapped to different respective actions 61, 62, 63, 64. The different respective actions may be performed with different urgency. That is there may be a significant delay before some actions are performed whereas other actions may be performed immediately.

If it is determined at block 51 that a transmit parameter such as transmit power has changed for an access point, then the database 6 is automatically and selectively adapted at block 61. The selective adaptation may involve flagging the transmit data for the access point as inaccurate or changing the transmit power value for the access point to the new value.

It can, for example, be determined that the transmit power T_(i) of access point AP_(i) has changed when

p _(ni)(t)≠p _(ni)(t−T) for all/most n.

p_(in)(t)˜p_(in)(t−T) for all/most n

The quantitative value of T; (t) may be calculated from

p _(mi)(t)−p _(im)(t)=T _(i)(t)−T _(m)(t)

if T_(m)(t) is known.

As p_(mi)=T_(i)+G_(i)−PL_(mi)+G_(m) where G_(i) is antenna gain at AP_(i) and PL_(mi) is the path loss at AP_(m) from AP_(i) which is the same as the path loss PL_(im) at AP_(i) from AP_(m) then p_(mi)(t)−p_(im)(t)=T_(i)+G_(i)−PL_(mi)+G_(m)−(T_(m)+G_(m)−PL_(im)+G_(i))=T_(i)−T_(m).

Alternatively, the quantitative value of the change Δ in T_(i)(t) may be calculated as follows:

let a=p _(mi)(t)−p _(im)(t)=T _(i)(t)−T _(m)(t)

let b=p _(mi)(t−T)−p _(im)(t−T)=T _(i)(t−T)−T _(m)(t−T)

as T _(m)(t)=T _(m)(t−T) but T _(i)(t)≠T _(i)(t−T), then

then Δ=T _(i)(t)−T_(i)(t−T)=b−a

If it is determined at block 52 that an access point has been removed from the network of access points, then the database 6 is automatically and selectively adapted at block 62. The selective adaptation may involve flagging the data associated with the access point as inaccurate or removing the data associated with the access point.

It can, for example, be determined that the access point AP; has been removed when

p _(ni)(t−T)≠0, p _(ni)(t)˜0 for all/most n.

p _(in)(t−T)≠0, p _(in)(t)˜0 for all/most n

If it is determined at block 53 that an access point has been moved or reoriented or its environment has changed, then the database 6 may be repopulated at block 63 so that the virtual configuration accurately reflects the real configuration.

It can, for example, be determined that the access point AP; has been moved, reoriented or its environment has changed when:

p _(ni)(t)≠p _(ni)(t−T) for all/most n.

p _(in)(t)≠p _(in)(t−T) for all/most n

It may also be possible to discriminate between a change in position, a change in orientation and a change in environment.

For example, if we define the set of access points X for which p_(ni)(t)>p_(ni)(t−T)+ε and define the set of access points Y for which p_(mi)(t)<p_(mi)(t−T)−ε, then:

If there is only a change in position, the positions of set X and the positions of set Y should cluster on either side of the previous position of AP_(i).

In the event that the change is classified as a position change of an access point AP_(i), it may be possible to calculate the new position of AP_(i) using the set of measurements p_(im)(t) and an attenuation model with trilateration. The new position could also be calculated using angle of arrival measurements or time-of-flight measurements.

If there is only a change in orientation of directional gain, the positions of set X and the positions of set Y should cluster adjacent one another.

If there is only a change in environment, it is likely that only the positions of set X or set Y will cluster and it may be unlikely that both will cluster.

If it is determined at block 54 that an access point has been added, then the database 6 may be repopulated at block 64 so that the virtual configuration accurately reflects the real configuration.

The discrimination between changes in position, orientation or environment may also be achieved using angle of arrival measurements. If there is a change in power angular profile (measured powers as a function of angle of arrival) that the peaks of the profile remain at the same angles, but the power levels change that could be an indication of re-orientation or environment change. If the angles of the peak powers change then there has been re-location.

When the database 6 is adapted, for example, selectively or by repopulation, then the new entries may be time stamped. When positioning occurs only the more recent entries of the database may be downloaded to an apparatus 12 or used by the apparatus that is running the positioning algorithm. Alternatively, differential weighting may be used so that the more recent entries have a greater influence on the result of a positioning algorithm.

The blocks illustrated in the FIGS. 4 and 5 may represent steps in a method and/or sections of code in the computer program. The illustration of a particular order to the blocks does not necessarily imply that there is a required or preferred order for the blocks and the order and arrangement of the block may be varied.

Although embodiments of the present invention have been described in the preceding paragraphs with reference to various examples, it should be appreciated that modifications to the examples given can be made without departing from the scope of the invention as claimed.

Features described in the preceding description may be used in combinations other than the combinations explicitly described.

Whilst endeavoring in the foregoing specification to draw attention to those features of the invention believed to be of particular importance it should be understood that the Applicant claims protection in respect of any patentable feature or combination of features hereinbefore referred to and/or shown in the drawings whether or not particular emphasis has been placed thereon. 

1. A method comprising: collecting from each of multiple access points in a network of access points a set of measurements made at a respective access point for signals transmitted by other access points, wherein the network of access points is configured for use in positioning a device that communicates with the network of access points; processing the collected sets of measurements to classify changes in the network of access points; and performing an action that is conditional upon how a change is classified.
 2. A method as claimed in claim 1, wherein the measurements measure any one of the following parameter types: signal strength measurement, time of arrival measurement and angle of arrival measurement.
 3. A method as claimed in claim 1, wherein classification depends upon any one of the following: a parameter type measured by the measurements and patterns of change in the measurements.
 4. (canceled)
 5. A method as claimed in claim 1, wherein classification comprises processing the collected sets of measurements to identify a change in the network of access points associated with a particular access point.
 6. A method as claimed in claim 1, wherein classification comprises detecting when all or most measurements made at access points resulting from transmissions by a first access point change but all or most measurements made by the first access point do not change.
 7. A method as claimed in claim 1, wherein classification comprises identifying a change as consequent on one of: access point position change, access point orientation change, access point environment change, access point transmission power change, access point addition and access point removal.
 8. A method as claimed in claim 1, wherein action includes maintaining the integrity of a database that records configuration information of the access point network, wherein the database is configured for use in positioning an apparatus that communicates with the access point network.
 9. A method as claimed in claim 1, wherein the action includes automatically adapting the configuration information associated with a particular access point in the database.
 10. A method as claimed in claim 1, wherein the action includes automatically adapting the configuration information in the database to record a calculated change in a transmission power of an access point.
 11. A method as claimed in claim 1, wherein the action includes automatically adapting the configuration information in the database to remove data associated with a particular access point.
 12. A method as claimed in claim 1, wherein the action includes indicating that a manual action is required.
 13. An apparatus comprising: at least one memory; and at least one processor configured to cause the apparatus to: collect from each of multiple access points in a network of access points a set of measurements made at a respective access point for signals transmitted by other access points, wherein the network of access points is configured for use in positioning a device that communicates with the network of access points; process the collected sets of measurements to classify changes in the network of access points; and perform an action that is conditional upon how a change is classified.
 14. An apparatus as claimed in claim 13, wherein the at least one memory and the at least one processor are configured to cause the apparatus to process the collected sets of measurements to identify a change in the network of access points associated with a particular access point.
 15. An apparatus as claimed in claim 13, wherein the at least one memory and the at least one processor are configured to cause the apparatus to process the collected sets of measurements to detect when all or most measurements made at access points resulting from transmissions by a first access point change but all or most measurements made by the first access point do not change.
 16. An apparatus as claimed in claim 13, wherein the at least one memory and the at least one processor are configured to cause the apparatus to process the collected sets of measurements to detect when all or most measurements made at access points resulting from transmissions by a first access point change and all or most measurements made by the first access point do not change.
 17. An apparatus as claimed in claim 13, wherein the at least one memory and the at least one processor are configured to cause the apparatus to maintain integrity of a database that records configuration information of the access point network, wherein the database is configured for use in positioning an apparatus that communicates with the access point network.
 18. An apparatus as claimed in claim 17, wherein the at least one memory and the at least one processor are configured to cause the apparatus to automatically adapt the configuration information in the database associated with a particular access point.
 19. An apparatus as claimed in claim 17, wherein the at least one memory and the at least one processor are configured to cause the apparatus to automatically adapt the configuration information in the database to record a calculated change in the transmission power of an access point.
 20. A system comprising: a network of access points for use in positioning a device that communicates with the network of access points; means for collating for each of multiple access points in the network of access points a set of measurements made at a respective access point for signals transmitted by other access points; means for processing the collated sets of measurements to classify changes in the network of access points; and means for performing an action that is conditional upon how a change is classified.
 21. A memory having a computer program comprising non-transitory program instructions stored thereon which when run on a processor of a device causes the device to: collect from each of multiple access points in a network of access points a set of measurements made at a respective access point for signals transmitted by other access points, wherein the network of access points is configured for use in positioning a device that communicates with the network of access points; process the collected sets of measurements to classify changes in the network of access points; and perform an action that is conditional upon how a change is classified.
 22. (canceled)
 23. (canceled)
 24. (canceled)
 25. (canceled)
 26. (canceled)
 27. (canceled)
 28. (canceled)
 29. (canceled)
 30. (canceled)
 31. (canceled)
 32. (canceled)
 33. (canceled)
 34. (canceled)
 35. (canceled)
 36. (canceled) 